1. Field of the Invention
The present invention relates to a data processing device, data processing method and a supply medium and relates in particular to a data processing device, data processing method and a supply medium for performing superoptimization based on the number of clock pulses.
2. Description of Related Art
Ideally, the program (machine instructions) processed by the computer are processed as quickly as possible. In view of this need, optimization is performed to reduce as much as possible, the number of instructions or the number of clock pulses.
A method also referred to as superoptimization has further been proposed to achieve optimization by receiving an input consisting of a program written in machine language and checking all possible programs in order to find a program with the same functions as the original program. This superoptimization method has been disclosed for instance in xe2x80x9cSuperoptimizerxe2x80x94A Look at the Smallest Program, Proceedings of the Second International Conference on Architectural Support for Programming Languages and Operating Systems, 1987, PP.122-126xe2x80x9d by Massalin, H.
In the superoptimization method described in the above mentioned paper however, a program (machine instructions) is found having the smallest number of instructions for calculating the supplied functions based on a search of all programs. However, with the establishment in recent years of pipeline type processors, scheduling the execution of instructions on the pipeline has become essential so that the program execution time is not always shortened even if the number of instructions has been reduced.
In view of the situation, this invention has the object of creating programs capable of faster processing by utilizing the number of clock pulses to perform superoptimization.
In view of the above problems with the conventional art, this invention has the object of providing an information processing device as claimed in claim 1, comprising an analysis means to analyze the input, a generation means to generate instructions according to the results analyzed by said analysis means, an execution means to execute the instructions created by said generation means and a search means to search for an instruction having the smallest number of clock pulses required to execute the instruction with said execution means.
Another object of this invention is to provide a data processing device as claimed in claim 1, wherein said generation means generates a directed acyclic graph according to the input and performs pruning according to the number of clock pulses.
A further object of this invention is to provide a data processing device as claimed in claim 1, wherein said generation means generates a directed acyclic graph according to the input and performs pruning by means of the critical path.
A still further object of this invention is to provide a data processing method also containing an analysis step to analyze the input, a generation step to generate instructions according to the results analyzed in said analysis step, an execution step to execute the instructions generated in said generation step, and a search step to search for the instructions having the smallest number of clock pulses required to execute the instruction with said execution step.
A yet further object of this invention is to provide a data processing device as claimed in claim 2, wherein said generation step generates a directed acyclic graph according to the input and performs pruning according to the number of clock pulses.
A still further object of this invention is to provide a data processing device as claimed in claim 2, wherein said generation step generates a directed acyclic graph according to the input and performs pruning by means of the critical path.
An even further object of this invention is to provide a supply medium to provide a program capable of being loaded by a computer to run the data processing device to execute processing including an analysis step to analyze the input, a generation step to generate instructions according to the results analyzed in said analysis step, an execution step to execute the instructions generated in said generation step, and a search step to search for the instructions having the smallest number of clock pulses required to execute the instruction with said execution step.
A still further object of this invention is to provide a supply medium as claimed in claim 3, wherein said generation step generates a directed acyclic graph according to the input and performs pruning according to the number of clock pulses.
A yet further object of this invention is to provide a supply medium as claimed in claim 3, wherein said generation step generates a directed acyclic graph according to the input and performs pruning according to the critical path.